package com.itheima.huikebackend.mapper;

import com.github.pagehelper.Page;
import com.itheima.huikebackend.dto.TbActivityDTO;
import com.itheima.huikebackend.entity.TbActivity;
import com.itheima.huikebackend.entity.TbBusiness;
import com.itheima.huikebackend.vo.TbActivityPageVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TbActivityMapper {
    /**
     * 选择列表
     *
     * @param tbActivityDTO 结核活动dto
     * @return {@link Page}<{@link TbActivityPageVO}>
     */
    Page<TbActivityPageVO> selectList(TbActivityDTO tbActivityDTO);

    /**
     * 插入
     *
     * @param tbActivity 结核活动
     */
    void insert(TbActivity tbActivity);

    /**
     * 删除通过id
     *
     * @param id id
     */
    void deleteById(Long id);

    /**
     * 选择通过id
     *
     * @param id id
     * @return {@link TbActivityPageVO}
     */
    TbActivityPageVO selectById(Long id );

    /**
     * 更新通过id
     *
     * @param tbActivity 结核活动
     */
    void updateById(TbActivity tbActivity);

    /**
     * 选择频道
     *
     * @param channel 通道
     * @return {@link List}<{@link TbActivity}>
     */
    List<TbActivity> selectByChannel(String channel);

    /**
     * 选择通过法案id和名称
     *
     * @param activityId 活动id
     * @param name       名字
     * @return {@link TbActivityPageVO}
     */
    TbBusiness selectByActIdAndName(long activityId, String name);
}
